package cn.stylefeng.guns.modular.business.frequency.ordersub.service;

import cn.stylefeng.guns.core.pojo.response.ResponseData;
import cn.stylefeng.guns.modular.business.frequency.ordersub.entity.OrderSub;
import cn.stylefeng.guns.modular.business.frequency.ordersub.model.param.OrderDTO;
import cn.stylefeng.guns.modular.business.frequency.ordersub.model.result.PkgTake;
import cn.stylefeng.guns.modular.business.frequency.ordertake.entity.OrderTake;
import cn.stylefeng.guns.modular.business.frequency.statistics.PkgOrderTake;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

public interface TakeCarService extends IService<OrderSub> {
    List<PkgOrderTake> getWaitTakeExcludeList(OrderDTO orderDTO);

    void updateAssign(OrderTake orderTake);

    boolean checkAssignUpdate(OrderTake orderTake, StringBuilder errorMsg);

    /** 批量指派送车 */
    void multiTake(OrderTake orderTake, Map<String, String> map);

    boolean checkAssignTake(StringBuilder errorMsg, OrderTake orderTake);

    PkgTake getTakeCarDetail(Long orderId);

    ResponseData getWaitTakeList(Page<Object> defaultPage, OrderDTO orderDTO);

    void reMultiTake(Long orderId);
}
